草庐IT

c++ - 对 boost::timer::auto_cpu_timer 的 undefined reference

全部标签

c - 我怎样才能为 Windows 制作一个二进制文件,使非编码人员能够只获得一个可以提供给 gdb 的故障转储?

正如标题所暗示的那样:该场景是一个使用gdb的编码员和一个报告崩溃的用户。他能否从用户那里得到一个易于使用的内存转储,该转储可以提供给gdb但又不会让用户感到困难? 最佳答案 可以设置ProcessDumper根据可执行文件的名称在任何异常或进程退出时生成完整转储。由于标题,我假设是Windows,如果不是,请更改标签。 关于c-我怎样才能为Windows制作一个二进制文件,使非编码人员能够只获得一个可以提供给gdb的故障转储?,我们在StackOverflow上找到一个类似的问题:

c - 如何使用 _spawnvp() 避免空间 split 和引用删除

在Unix上,我们可以使用fork()创建一个新进程;execvp(argv[0],argv);(如果我们是跟随fork的parent或child,则需要一些管道)。在子进程中,main(argc,argv)将完全按照传递给execvp的方式查看字符串。在Windows上,_spawn()系列基本上实现了fork();执行();一步到位。到目前为止,太好了。问题是当我们到达子进程的main()时,我们的字符串已经不是原来的样子了。让我举个例子。argv[0]="foo";argv[1]="bar";argv[2]="Usespacesand\"quotes\"";_spawnvp(0,

c++ - 如何处理 .dump/.dump 文件?

我正在研究MySQL用户定义函数(UDF),它基本上是Windows系统函数的包装器。我的问题是UDF对于某些输入按预期工作,但会导致mysqld对于其他输入崩溃。UDF本身采用单个整数参数,该参数未经修改地作为ULONG参数传递给WinAPI函数。当这个整数小于某个数k时,一切正常;但是,当整数大于或等于k时,MySQL服务器进程(mysqld.exe)始终崩溃。我的64位Windows7机器总是生成“AppCrash”详细信息,其中包括MDUMP和HDUMP文件。有没有办法在VisualC++中打开这些文件中的任何一个来检查崩溃时的堆栈跟踪? 最佳答案

c++ - 如何跟踪进程创建的 ActiveX 控件?

我想跟踪由某些进程创建的ActiveX控件。为了简化问题,我首先只想监视当前进程。我想这样做是为了检查是否有任何ActiveX控件支持IOleWindow如果是,给定的HWND是否属于该ActiveX控件(以便我可以将HWND映射到ActiveX控件)。有人有这方面的经验吗?我的第一个想法是使用APIHook来监控CoCreateInstance调用,但我读到这并非在所有情况下都有效。一些谷歌研究显示http://www.pocketsoap.com/sf/activation.html其中谈到安装自定义类工厂-这将如何工作? 最佳答案

c - 静默安装 winpcap

我想制作一个使用winpcap的C程序。但是,我首先需要使用安装程序将winpcap软件包安装到我的PC中,然后才能执行我的程序。如何让我的程序自动执行此操作(执行winpcap安装程序的操作)? 最佳答案 这些方法你试过了吗?http://paperlined.org/apps/wireshark/winpcap_silent_install.html 关于c-静默安装winpcap,我们在StackOverflow上找到一个类似的问题: https://s

c - 如何将参数传递给 DLL 初始化(例如,通过 LoadLibrary 加载时)?

如何将参数传递给通过LoadLibrary加载的DLL的初始化函数?有可能吗?也就是说,无需诉诸某种导出函数或共享内存。 最佳答案 没有直接的方法。最简单的可能是通过环境变量。它们可以在使用setenv调用LoadLibray之前轻松设置,然后DLL(在同一进程中)可以使用getenv检索它们。 关于c-如何将参数传递给DLL初始化(例如,通过LoadLibrary加载时)?,我们在StackOverflow上找到一个类似的问题: https://stacko

c++ - 获取进程信息

我正在使用C++,我正在尝试从sysinternals创建一个类似于handle.exe的程序。基本上,我从用户那里获取文件名,我需要能够显示哪个进程正在锁定该文件。有谁知道我可以从哪里获得这些信息?我试过在winapi中使用一些过程函数,但我不知道如何获取这些信息,这是我尝试创建的示例:http://www.kartmann.org/freeware/WhoSLocking/ReadMe.htm提前致谢 最佳答案 NtQuerySystemInformation上有一个未记录的选项获取进程的文件句柄。有示例代码here.第二个示例

c++ boost asio 异步函数不能在 dll 中工作

我有这个基于教程的简单的boostasio代码,它在从exe中调用时工作正常,但在使用LoadLibrary从dll中运行时崩溃。它在提升代码而不是我的代码中崩溃。90%的时间它会在其线程互斥函数内部崩溃。与exe相比,在dll中执行代码时是否有任何限制?这是我的代码:Connection::Connection(boost::asio::io_service&ioservice):m_Socket(ioservice),m_Resolver(ioservice){}voidConnection::ConnectTo(){boost::asio::ip::tcp::resolver::

c - 在套接字(windows)上启用 SO_DEBUG 时如何查看套接字信息?

intsetsockopt(SOCKETs,intlevel,intoptname,constchar*optval,intoptlen);SO_DEBUG鼓励(但不要求)WindowsSockets服务提供商提供如果应用程序设置了SO_DEBUG选项,则输出调试信息。生成调试信息的机制及其采用的形式超出了本文档的范围。我没有找到任何范围。 最佳答案 它不适用于win32。Enablesdebugoutput.Microsoftproviderscurrentlydonotoutputanydebuginformation.我相信它

c++ - 当多次链接 DLL 时,导出的全局变量会发生什么情况?

假设我有一个头文件中包含以下内容的X.DLL:extern__declspec(dllexport)intfoobar;此foobar全局变量然后在实现文件的X.DLL中定义:intfoobar=1;现在假设我有两个DLL,A.DLL和B.DLL,它们链接到X.DLL,还有一个使用A.DLL和B.DLL的应用程序E.EXE:+---->A.DLL----+||E.EXE----++---->X.DLL||+---->B.DLL----+在这种情况下,表达式&foobar(foobar的地址)是否保证在A.DLL中求值时具有相同的值,并且B.DLL?也就是说,X.DLL的全局变量是存储了